import sys
import pygame
import os



def fcolor(text, colors, n):
    match text:
        case 'Белый':
            colors[n-1]=(255,255,255)
        case 'Черный':
            colors[n-1]=(0,0,0)
        case 'Красный':
            colors[n-1]=(255,0,0)
        case 'Зеленый':
            colors[n-1]=(0,255,0)
        case 'Синий':
            colors[n-1]=(0,0,255)

#Цвета змейки, пола, яблок, стен
colors = [(0,255,0),(0,0,255),(0,0,0),(255,0,0)] # посмотреть как работают глобальные переменные
class Button:
    def __init__(self, x, y, width, height, text):
        self.body = pygame.Rect(x,y, width, height)
        self.text = text

"""b1 = Button(100, 500, 100, 20, "Начать игру")
b2 = Button(100, 550, 100, 20, "Настройки")
b3 = Button(100, 600, 100, 20, "Выход")"""
def start():
    x = 700
    y = 600
    pygame.init()
    screen = pygame.display.set_mode((x, y))
    f = pygame.font.Font(None, 18)
    arr1=[Button(100,200,100,50,'Белый'),Button(100,250,100,50,'Черный'),Button(100,300,100,50,'Красный'),Button(100,350,100,50,'Зеленый'),Button(100,400,100,50,'Синий')]
    arr2=[Button(200,200,100,50,'Белый'),Button(200,250,100,50,'Черный'),Button(200,300,100,50,'Красный'),Button(200,350,100,50,'Зеленый'),Button(200,400,100,50,'Синий')]
    arr3=[Button(300,200,100,50,'Белый'),Button(300,250,100,50,'Черный'),Button(300,300,100,50,'Красный'),Button(300,350,100,50,'Зеленый'),Button(300,400,100,50,'Синий')]
    arr4=[Button(400,200,100,50,'Белый'),Button(400,250,100,50,'Черный'),Button(400,300,100,50,'Красный'),Button(400,350,100,50,'Зеленый'),Button(400,400,100,50,'Синий')]

    text = [f.render("Цвет змеи", True, (255,0,0)), f.render("Цвет стен", True, (255,0,0)), f.render("Цвет фона", True, (255,0,0)), f.render("Цвет яблок", True, (255,0,0))]
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                print(colors)
                pygame.quit()
                os.system('python MainMenu.py')
                break

            """elif event.type == pygame.K_ESCAPE:
                pygame.quit()
                sys.exit()"""

        screen.fill((0, 0, 0))
        #screen.blit(text1, (500, 350))
        for x in arr1:
            screen.blit(f.render(x.text, True, (255,255,255)), (x.body.x, x.body.y))
        for x in arr2:
            screen.blit(f.render(x.text, True, (255,255,255)), (x.body.x, x.body.y))
        for x in arr3:
            screen.blit(f.render(x.text, True, (255,255,255)), (x.body.x, x.body.y))
        for x in arr4:
            screen.blit(f.render(x.text, True, (255,255,255)), (x.body.x, x.body.y))
        i=1
        for x in text:
            screen.blit(x, (100*i, 100))
            i+=1
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.MOUSEBUTTONDOWN:
            for x in arr1:
                if event.pos[0]>x.body.x and event.pos[0]<x.body.x+x.body.width and event.pos[1]>x.body.y and event.pos[1]<x.body.y+x.body.height:
                    fcolor(x.text, colors,1)                
            for x in arr2:
                if event.pos[0]>x.body.x and event.pos[0]<x.body.x+x.body.width and event.pos[1]>x.body.y and event.pos[1]<x.body.y+x.body.height:
                    fcolor(x.text, colors,2)
            for x in arr3:
                if event.pos[0]>x.body.x and event.pos[0]<x.body.x+x.body.width and event.pos[1]>x.body.y and event.pos[1]<x.body.y+x.body.height:
                    fcolor(x.text, colors,3)
            for x in arr4:
                if event.pos[0]>x.body.x and event.pos[0]<x.body.x+x.body.width and event.pos[1]>x.body.y and event.pos[1]<x.body.y+x.body.height:
                    fcolor(x.text, colors,4)
            
        
        pygame.display.update()